Wireless mobile devices may access wireless networks using a variety of wireless interfaces and may have one of more transceivers adapted to communicate using various wireless interfaces and/or protocols such as, but not limited to, GSM, (including GPRS/EDGE etc.), CDMA, UMTS, CDMA2000, 802.11, 802.16, etc. Increasingly, such mobile devices include a Voice-Over-Internet-Protocol (VoIP) client and therefore are equipped to communicate using VoIP over such heterogeneous wireless networks.
Such various network types may be used for transfer of voice using the Voice-over-Internet-Protocol (VoIP) client of a mobile device, for example, wireless networks employing IEEE 802.11 including IEEE 802.11b. Packetization of voice in such cases however, requires several layers of encapsulation by the various protocols involved. Each protocol has specific requirements, particularly header information, that requires increasing the number of bits transmitted in the overall packet.
For example, a G.729A codec generates 8 Kbits of encoded audio date per second, packaged in 10 byte/10 msec frames. For each frame to be transmitted over an 802.11 link, and further on to the Internet, the frames must be encapsulated into Internet Protocol (IP) packets. To create the IP packets, the data must be encapsulated into a transport protocol packet, which includes a transport header, and the transport protocol packet must be further encapsulated into an IP packet, which includes an IP header.
Thus, at every layer of encapsulation, an additional packet header is added to the payload. A UDP header for example may be 8 bytes in length, an IP header 20 bytes, and an RTP header 12 bytes. In addition, the 802.11b Medium Access Control (MAC) layer adds a header prior to placing the data onto a channel.
Thus, an IP packet carrying only a single G.729A codec frame of 10 bytes of audio data may require up to 40 bytes of protocol header overhead. A second issue for real time voice service is that of delay in retransmission.
For example, automatic repeat request (ARQ) mechanisms typically determine that a data portion is missing based on a timer function. If an expected packet having a given sequence number is not received within the time of a predetermined timeout function, the ARQ mechanism may then request a retransmission. However, such delay time is not acceptable to real time voice calls such as VoIP.
Another issue is created specific to 802.11b by the Carrier Sense Multiple Access-Collision Avoidance (CSMA-CA) mechanism. The mechanism facilitates channel contention prior to each packet transmission. However, time is lost due to the contention period in addition to various MAC messages requiring even more overhead, such as ACK frames required for data acknowledgement, that further contribute to the channel overhead and thus result in inefficient channel utilization. More importantly, contention creates delays in retransmission of data which is unacceptable for real time service such as VoIP.
Therefore, what is needed is an apparatus and method for reducing overhead for voice encapsulation and ideally an apparatus and method for adapting to various radio interfaces and protocols employed in a heterogeneous wireless network environment.